1. Field of the Invention
This invention relates to image processing in general, and, more particularly, to an image processing method and system that uses a computer system to provide rapid image processing capabilities.
2. Description of the Background Art
The present invention was created in response to the shortcomings of the current generation of image retouching systems. Prior art retouching systems typically use one of two methods for handling images: (1) virtual image and (2) high resolution/low resolution. In addition, a text-based retouching method relying on user-programming can be found in the prior art. Each of these approaches overcomes some of the major obstacles confronting image retouching systems. However none of the prior art systems fulfills today's need for a computer system that provides rapid editing of high quality color images at an affordable cost to the system consumer.
The virtual image approach, commonly used by desktop image editing packages, e.g., Macintosh or Windows based programs, manipulates a copy of the actual image held in memory. Macintosh is a trademark of Apple Computer, Inc. of Cupertino, Calif. and Windows is a trademark of Microsoft Corporation of Redmond, Wash. Typically, the original image is stored, unedited, in memory. In the course of editing, the virtual image method constructs one or more copies of intermediate drafts of the edited image. As such, if an error is introduced during editing, the user or operator may revert to a previous copy of the image to correct the error. Using the virtual image approach, the image itself is transformed as retouching effects are applied.
The virtual image approach suffers two important shortcomings: first, large amounts of memory are required to store the various intermediate edited images, and second, each effect is applied immediately to the entire image so that complex manipulation, such as large airbrushing, scaling and rotation, incur long processing delays.
Because prior art image retouching systems based on the virtual image approach did not yield acceptable performance when handling large images (over 10 M or 10 million bytes), editing systems using the high resolution/low resolution method were developed. These systems operate on a smaller, i.e., low resolution image, to achieve improved response times for the operator. Using this approach, any retouching actions performed by the operator upon an image are sequentially stored in a script. When retouching is complete, the script is typically passed to a more powerful, and expensive, server and "executed". As a result of the execution of the script, the retouching actions contained in the script are applied to a high resolution image from which the editing system originally derived the low resolution image. Consequently, the high resolution/low resolution method results in a high quality final image that contains the retouching performed upon the low resolution image. A problem with this approach is that the operator does not retouch and manipulate the actual (high resolution) image. As a result, it is not always possible to perform highly detailed retouching actions such as silhouetting and masking. One example of a high resolution/low resolution approach executing upon a mainframe computer is disclosed in U.S. Pat. No. 5,142,616 issued Aug. 25, 1992 to Kellas et al.
An alternative approach to image processing is the expression tree method where the images are specified by a set of operations--either by a computer program or by a mathematical formula. The use of textual expressions to specify an equation that defines image modifications is disclosed by G. J. Holzmann in BEYOND PHOTOGRAPHY: THE DIGITAL DARKROOM 31-41 (Prentice Hall, 1988). When these textual expressions are written in executable code, a programmer creates an expression tree to facilitate evaluation of the expression on a computer system. The weakness of this method, as used in the prior art, is that the user need be very skilled not only in creative aspects of image creation and editing, but also very skilled in programming and mathematics. Such skill is necessary to accomplish both initially generating the expression tree and to subsequently modify the tree to accomplish image modifications.
In summary, current methods of computerized image processing for editing high resolution images require too much processing power, too much memory or too much programming and mathematical skill from the operator to address the full needs of image retouchers. In addition, much of the prior art imposes unacceptable limitations on the quality of the final result. Consequently, there is a need in the art for a computerized image processing method and apparatus that enables an operator unskilled in mathematics or programming to accomplish advanced graphic operations rapidly, and to reverse image editing decisions without, in any way, affecting the definition or precision of the final image.